package com.gpstracking.BE;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * Punto entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "punto", catalog = "gpstracking")
public class Punto implements java.io.Serializable {

	// Fields

	private Integer idPunto;
	private Ruta ruta;
	private Area area;
	private String nombre;
	private Double latitud;
	private Double longitud;

	// Constructors

	/** default constructor */
	public Punto() {
	}

	/** minimal constructor */
	public Punto(Integer idPunto, String nombre, Double latitud, Double longitud) {
		this.idPunto = idPunto;
		this.nombre = nombre;
		this.latitud = latitud;
		this.longitud = longitud;
	}

	/** full constructor */
	public Punto(Integer idPunto, Ruta ruta, Area area, String nombre,
			Double latitud, Double longitud) {
		this.idPunto = idPunto;
		this.ruta = ruta;
		this.area = area;
		this.nombre = nombre;
		this.latitud = latitud;
		this.longitud = longitud;
	}

	// Property accessors
	@Id
	@Column(name = "IdPunto", unique = true, nullable = false)
	public Integer getIdPunto() {
		return this.idPunto;
	}

	public void setIdPunto(Integer idPunto) {
		this.idPunto = idPunto;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idRuta")
	public Ruta getRuta() {
		return this.ruta;
	}

	public void setRuta(Ruta ruta) {
		this.ruta = ruta;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IdArea")
	public Area getArea() {
		return this.area;
	}

	public void setArea(Area area) {
		this.area = area;
	}

	@Column(name = "Nombre", nullable = false, length = 100)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "Latitud", nullable = false, precision = 22, scale = 0)
	public Double getLatitud() {
		return this.latitud;
	}

	public void setLatitud(Double latitud) {
		this.latitud = latitud;
	}

	@Column(name = "Longitud", nullable = false, precision = 22, scale = 0)
	public Double getLongitud() {
		return this.longitud;
	}

	public void setLongitud(Double longitud) {
		this.longitud = longitud;
	}

}